Many software applications, particularly administrative tools that are deployed on one computer to configure other computers, require the computers that use the applications to be registered. Such registration serves several purposes, such as ensuring that the user (or his/her company) has obtained a legitimate copy of the software application. Registration also helps track compliance with software licenses that govern, for example, the number of users or computers permitted to use the software applications. For readability purposes, the term “registration” refers to both registration and licensing throughout this description, although in practice they may have somewhat different meanings.
Presently, registration is largely a manual process performed on a computer-by-computer basis. That is, the user must perform the registration from each computer, usually by executing a vendor-supplied registration utility. The registration utility typically requires the user to provide certain information about the computer that the utility then transmits to the vendor over the Internet. In the case of an administrative tool, the computers may additionally, or alternatively, be required to register with a control module of the administrative tool on a company server. In some cases, the user may also need to supply information over the telephone (typically through a 1-800 number). The vendor and/or the control module thereafter returns a registration code or similar information that the user may then use to complete the registration.
As can be seen from the foregoing, existing registration processes are tedious and time-consuming, particularly if there is a large number of computers (one company may have hundreds or thousands of computers). Moreover, while Internet registration is convenient, some vendor registration utilities require the computer to have direct communication with the vendor Web sites, meaning a separate network port and firewall must be set up on those computers (in addition to any firewall already set up on the network gateway). This raises a number of security issues and creates additional work for technical support personnel. Finally, from a licensing compliance perspective, it is often difficult to track which computers have been registered and which ones have not when the registration is performed separately on each computer.
Accordingly, what is needed is a way to automate the existing registration process. More particularly, what is needed is a way to centralize the registration process so that it may be more easily controlled and managed.